Skip to content

Describe IL3058 as a Missing IsAotCompatible Mark - #1895

Merged
ptr727 merged 3 commits into
developfrom
fix/il3058-wording
Sep 26, 2026
Merged

ptr727 merged 3 commits into
developfrom
fix/il3058-wording

Conversation

@ptr727

@ptr727 ptr727 commented Sep 26, 2026

Copy link
Copy Markdown
Owner

Fixes a finding CodeRabbit raised on the promotion PR #1850, against #1861's text.

dotnet-codestyle's project-config reference said reference verification reports IL3058 for every dependency "not built AOT-compatible", and named System.CommandLine and the Serilog sinks as failing. Microsoft's IL3058 page gives the cause as a referenced assembly without the IsAotCompatible assembly metadata set to true. That's a missing mark, not proof of incompatibility, and a library built with the property against a target before .NET 10 still lacks it. The unversioned package names also claim a state their newer releases may not have. The sentence now names the missing mark and drops the examples.

Only the source under .agents/skills/ was edited. The .github/skills/ and .claude-plugin/ copies and the source digest are regenerated by build_dist.py, and --check passes. The prose gate, markdownlint, and cspell pass. One local strict review pass is recorded, with no findings. It checked the wording against the Microsoft Learn pages for IL3058 and Native AOT.

🤖 Generated with Claude Code

dotnet-codestyle said reference verification reports IL3058 for every
dependency "not built AOT-compatible" and named System.CommandLine and
the Serilog sinks as failing. IL3058 reports a referenced assembly not
marked IsAotCompatible, which says nothing about whether it works under
AOT, and the unversioned package names claim a state their newer
releases may not have. The sentence now names the missing mark and
drops the examples.

Raised by CodeRabbit on the promotion PR #1850.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
@coderabbitai

coderabbitai Bot commented Sep 26, 2026 •

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Repository: ptr727/ProjectTemplate/.coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: 6f2f518c-b9a5-45c1-aec7-cb8b3c6f0112


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟢 Approval recommended

The only remaining feedback is a minor documentation-precision tweak; the change is otherwise consistent and correctly propagated to generated copies.

Review effort: Lite
Findings: 1 Low severity

Open (1)
What changed in this PR

This PR corrects the dotnet-codestyle reference documentation for IL3058 so it describes the warning as a missing (or non-true) IsAotCompatible mark on referenced assemblies, rather than asserting that the dependency is inherently “not built AOT-compatible,” and removes concrete package examples that could become stale.

Changes:

  • Refines IL3058 wording to focus on the IsAotCompatible marker rather than “incompatibility,” and drops specific dependency examples.
  • Regenerates the distributed skill copies and updates the corresponding source digest.
File Description
.agents/​skills/​dotnet-codestyle/​references/​project-config.md Adjusts the authoritative reference wording for IL3058 and removes potentially stale examples.
.github/​skills/​dotnet-codestyle/​references/​project-config.md Regenerated distribution copy of the same reference update.
.claude-plugin/​fleet-skills/​skills/​dotnet-codestyle/​references/​project-config.md Regenerated Claude plugin copy of the same reference update.
.claude-plugin/​fleet-skills/​.source-digests/​dotnet-codestyle Updates the digest to match the regenerated dotnet-codestyle source content.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread .agents/skills/dotnet-codestyle/references/project-config.md Outdated
ptr727 and others added 2 commits September 26, 2026 08:23
"Not marked IsAotCompatible" left open an assembly that carries the
metadata set to false, which IL3058 also reports. The sentence now
says the metadata is not true, matching Microsoft's own wording.

Raised by Copilot on #1895.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
"Whose metadata is not true" read as though the metadata were present,
hiding the common case of a dependency with none at all. The sentence
now follows Microsoft's wording: an assembly that lacks the metadata
set to true.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
Copilot AI review requested due to automatic review settings September 26, 2026 15:25

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟢 Approval recommended

The change is a narrowly scoped documentation correction with consistent updates across the generated distributions and no remaining verified issues.

Review effort: Lite
Findings: None

Resolved since last review (1)

@ptr727
ptr727 merged commit 042b9b9 into develop Sep 26, 2026
9 checks passed
@ptr727
ptr727 deleted the fix/il3058-wording branch September 26, 2026 15:27
ptr727 added a commit that referenced this pull request Sep 26, 2026
…and Overnight Fixes to Main (#1850)

Promotes `develop` to `main`.

## Carried

- #1846: exits `repo-config/configure.sh` early, writing nothing, for a
repository whose registry `status` is `archived`.
- #1848: fails the validator's C# unit test step when the run wrote no
non-empty Cobertura report, clearing `./coverage` first. It declines
#1134's `ref` input with evidence, since a bare checkout already
validates `github.sha`, and D1.2 now says so. #1134's third gap moved to
#1800.
- #1851: asserts that the two planted registration defects are
themselves reported.
- #1854, #1858: correct #1846's test docstrings, which claimed the
script makes no `gh` call before the archived check in cases where it
does. Raised by Copilot on this pull request.
- #1856: passes `--repo` on documented handoff commands and guards
handoff reads against a full page, per #1847.
- #1859, #1863: fall back to the default search path when `PATH` is
unset in #1848's and #1846's test harnesses. Raised by Copilot on this
pull request.
- #1861: scopes `VerifyReferenceAotCompatibility` to an AOT publish in
`dotnet-codestyle`, per #1857.
- #1867: establishes the `PATH` order `tool_shadow_path` names, per
#1644.
- #1870: makes the installer's dirty-checkout tests independent of the
real checkout's state, per #1641.
- #1873: pins and decodes git's quoting in `repo_gate.py`'s `ls-files`
read, per #1580 and #1872.
- #1878: folds typographic punctuation in `pr_review.py reply --match`,
per #1299.
- #1883: routes `configure.sh`'s `ruleset_id()` through `jqr`, per
#1253.
- #1885: states the pin comment as the release tag and defines `$/`, per
#1805.
- #1888: distinguishes `./` from `$/` resolution in the pin rule's
prose, per #1886.
- #1893: drops the issue reference from `repo-config/README.md`'s
archived-exemption note, which Copilot flagged on six rounds of this
pull request.
- #1895: describes IL3058 in `dotnet-codestyle` as a referenced assembly
lacking `IsAotCompatible` metadata set to `true`, and drops the
unversioned package examples. Raised by CodeRabbit on this pull request.

Callers that pin a hub release get the new C# check on their next pin
bump. A test project that runs `dotnet test --coverage` without writing
a report now fails its step rather than passing silently.

Closes #1134
Closes #1847
Closes #1857
Closes #1644
Closes #1641
Closes #1580
Closes #1872
Closes #1299
Closes #1253
Closes #1805
Closes #1886

🤖 Generated with [Claude Code](https://claude.com/claude-code)


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Bug Fixes**
* Backlog counts and rankings now consistently exclude handoff issues,
including those also marked blocked.
* Repository configuration commands now exit without writing when a
repository is archived.
* Review-thread matching handles typographic punctuation, and no-match
responses report the unresolved-thread count.
* Tool setup handles PATH entries more precisely, and repository checks
report unusual file paths without crashing.

* **Reliability**
* Validation now fails when C# or Python tests produce no coverage
report.
  * Agent setup can use an explicit dirty-checkout override.
* Workflow and repository guidance clarifies reference resolution,
release-tag pinning, and AOT configuration.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants